A web application is a software application that is stored on a remote server and delivered over a network to a client through a web browser. Unlike traditional desktop (native) applications which are launched by a local operating system, a web application is stored on a host server connected to a public network such as the Internet and executed by any type of browser and type of computing device (e.g., Windows PC, Apple Mac, etc.) Examples of a web application include a message board, a social networking environment, a video player, and the like. A web application relieves the developer of the responsibility of building a client for a specific type of computer or a specific operating system. Also, the developer does not need to distribute software updates to users when the web application is updated but rather updates the application on the server which in-turn updates the web application for all users that have access to the updated version. Web application developers commonly use a combination of server-side script (ASP, PHP, etc.) and client-side script (HTML, Javascript, etc.) to develop the application. The client-side script may handle the presentation of the information while the server-side script may handle the storing and retrieving of the information to be presented.
While web applications offer several benefits, they do have some disadvantages compared to desktop applications. For example, because web applications typically do not run directly from the operating system of a client device, web applications have limited access to system resources, such as a central processing unit (CPU), memory, file system, and the like. As a result, high-end programs, such as video production and other media applications generally perform better as desktop applications. Web applications are also entirely dependent on the web browser. For example, if a web browser crashes or loses connection to the network, the web application may lose all progress that has been made during the session. Also, browser updates may cause incompatibilities with web applications, creating unexpected issues.
Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated or adjusted for clarity, illustration, and/or convenience.